package co.edu.poli.ficb.agl.automatable.graph;

import co.edu.poli.ficb.agl.automatable.modelo.SimboloImpl;
import co.edu.poli.ficb.agl.automatable.modelo.automatas.Estado;
import co.edu.poli.ficb.agl.automatable.modelo.automatas.EstadoImpl;
import co.edu.poli.ficb.agl.automatable.modelo.automatas.TransicionImpl;

/**
 * 
 * @author Ingrid Baquero
 * @author Diego Satoba
 * @version 1.1 06/08/11
 * @since 1.1
 *
 */
public class MyCompositeEdge implements CompositeEdge<Estado, TransicionImpl>{
	
	private TransicionImpl regla;

	public MyCompositeEdge(TransicionImpl regla) {
		this.regla = regla;
	}
	
	public MyCompositeEdge(Estado estadoFuente, SimboloImpl simbolo, Estado estadoDestino) {
		this(new TransicionImpl(null, estadoFuente, simbolo, estadoDestino));
	}
	
	@Override
	public Estado getVertex1() {
		return regla.getEstadoFuente();
	}

	@Override
	public Estado getVertex2() {
		return regla.getEstadoDestino();
	}

	@Override
	public TransicionImpl getEdge() {
		return regla;
	}
}
